feat: add framework of partitioned namespace#5638
feat: add framework of partitioned namespace#5638wojiaodoubao wants to merge 2 commits intolance-format:mainfrom
Conversation
c62d87b to
8dce784
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
8dce784 to
51ca004
Compare
|
Hi @jackye1995 , I think may be we can push forward partitioning by first discussing the behavior of After the Looking forward to your thoughts! |
| use serde::{Deserialize, Serialize}; | ||
|
|
||
| #[derive(Debug, Clone, Serialize, Deserialize)] | ||
| pub struct JsonPartitionField { |
There was a problem hiding this comment.
nit: since it's a part of the namespace spec, I think we can add this as a part of the OpenAPI definition, so it is codegened and has all the serde aspects handled automatically.
Hi, I've only recently come across this discussion. Currently, it seems that a partition table is defined as a special type of Directory Namespace. My question is whether partition tables can be extended to also be applicable to REST Namespace Impl, thus adapting to a wider range of scenarios? My question stems from our scenario having a centralized metadata service, where we'd prefer to manage both non-partitioned and partitioned tables uniformly using REST Namespaces. Looking forward to your reply, thanks! |
Hi @xloya , thanks your suggestion. One good feature of partitioned namespace is: it transforms a directory as a partitioned table. It means you can register a partitioned namespace uri to your centralized metadata service, just like normal lance table. Does is work for you? |
If the following alignment can be achieved during registration, I think it will meet our needs, such as |
Yes, partitioned namespace can work like this. |
51ca004 to
10b6751
Compare
Cool! That's what we need, thanks! |
Draft
This is based on lance-format/lance-namespace#279
Overview
PartitionedNamespace is an impl of LanceNamespace. It is a kind of DirectoryNamespace, containing a field member in type DirectoryNamespace.
Methods
There are 3 kinds of methods of PartitionedNamespace: